package com.njpi.stu.attendance.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * <p>
 * 假条表（只要该课程的任课老师审核通过即可）
 * </p>
 *
 * @author pxl
 * @since 2019-11-07
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("lab_leave_note")
public class LeaveNote implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Long Id;

    /**
     * 学生id
     */
    private Long userId;

    /**
     * 学生姓名
     */
    private String userName;

    /**
     * 申请状态：审核通过 1 ，未审核0，审核未通过-1
     */
    private Integer state;

    /**
     * 请假结束时间
     */

    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "Asia/Shanghai")
    private Date timeEnd;

    /**
     * 请假开始时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "Asia/Shanghai")
    private Date timeStart;

    /**
     * 请假理由
     */
    private String cause;

    /**
     * 审核老师名字
     */
    private String teacherName;

    /**
     * 审核老师id
     */
    private Long teacherId;

    /**
     * 院系ID
     */
    private Long departmentId;

    /**
     * 院系名称
     */
    private String departmentName;

    /**
     * 班级ID
     */
    private Long classId;

    /**
     * 班级名称
     */
    private String className;

    /**
     * 课程id
     */
    private Long courseId;

    /**
     * 课程名称
     */
    private String courseName;


    /**
     * 老师审核时间
     */
    private Date timeTeacher;


    /**
     * 学生申请时间
     */
    private Date timeStudent;

}
